package br.com.vdn.bean;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import br.com.util.exception.UtilException;
import br.com.util.jsf.JSFUtil;
import br.com.vdn.negocio.LoginNgc;
import br.com.vdn.vo.UsuarioVo;

public class LoginBean
{
	
private UsuarioVo usuarioVo;
	
	public LoginBean()
	{
		this.usuarioVo = new UsuarioVo();
	}
	
	public String logar()
	{
		try
		{
			JSFUtil util = new JSFUtil();
			UsuarioVo vo = (UsuarioVo) util.getSession().getAttribute("usuarioLogado");
			if (vo == null)
			{
				vo = new UsuarioVo();
				vo = LoginNgc.getInstancia().verificarLogin(this.usuarioVo, 0);
				
				util.getSession().setAttribute("usuarioLogado", vo);
				this.setUsuarioVo(vo);
			}
			
			return "logarSucesso";
		}
		catch (UtilException ue)
		{
			FacesMessage message = new FacesMessage(ue.getMensagem());  
	        message.setSeverity(FacesMessage.SEVERITY_ERROR);  
	        FacesContext.getCurrentInstance().addMessage("", message);
	        return null;
		}
	}
	
	public String logout()
	{
		((HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest()).getSession().invalidate();
		return "logout";
	}

	public UsuarioVo getUsuarioVo()
	{
		return usuarioVo;
	}

	public void setUsuarioVo(UsuarioVo usuarioVo)
	{
		this.usuarioVo = usuarioVo;
	}

}
